package com.zbkj.service.service;

import com.zbkj.common.request.PageParamRequest;
import com.zbkj.common.model.traceable.ZfbDeviceBatchesItems;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.common.request.ZfbDeviceBatchesItemsSaveRequest;
import com.zbkj.common.request.ZfbDeviceBatchesItemsSearchRequest;
import com.zbkj.common.response.ZfbDeviceBatchesItemsPageDataResponse;

import java.util.List;
/**
* @author dazongzi
* @description ZfbDeviceBatchesItemsService 接口
* @date 2025-06-11
*/
public interface ZfbDeviceBatchesItemsService extends IService<ZfbDeviceBatchesItems> {

    Boolean create(ZfbDeviceBatchesItemsSaveRequest zfbDeviceBatchesItemsSaveRequest);

    /**
     * 分页查询设备明细表
     *
     * @param request          查询条件
     * @param pageParamRequest 分页对行
     * @param deviceId
     * @return 查询结果
     */
    List<ZfbDeviceBatchesItemsPageDataResponse> getList(ZfbDeviceBatchesItemsSearchRequest request, PageParamRequest pageParamRequest, Integer deviceId);

    void deleteByBatchesId(Integer batchesId);

    List<ZfbDeviceBatchesItems> getListByNum(Integer id, int num);

    int getUnboundCount(Integer id);

    List<ZfbDeviceBatchesItems> getWaitBindListByNum(Integer productId, Integer payNum);

    List<ZfbDeviceBatchesItems> getLockListByNum(Integer productId, String orderNo);

    ZfbDeviceBatchesItems getByMac(String mac);

    ZfbDeviceBatchesItems getIdByMac(String mac);

    List<String> getManualMacList();
}